Orientation-sensitive signal output

ABSTRACT

Orientation-sensitive signal output, in which a neutral position of a device is automatically determined in relation to at least a first axis, an angular displacement of the device is measured about at least the first axis, and shaking of the device is detected. A selection of the first control is received, and an output signal is output based at least upon the selection and the angular displacement or based upon detecting the shaking of the device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/058,025, filed Mar. 28, 2008, which is a continuation of U.S. patentapplication Ser. No. 11/383,918, filed May 17, 2006, which claims thebenefit of U.S. Provisional Patent Application No. 60/681,478, filed May17, 2005, all of which are incorporated herein by reference.

BACKGROUND

1. Field

The present disclosure generally relates to orientation-sensitive signaloutput and, in particular, relates to the selection and output of asignal, such as an alphanumeric character, based upon the orientation ofa device, such as a telephone.

2. Description of the Related Art

Many devices use buttons or other controls to enter characters, such asalphanumeric characters and/or symbols. A conventional telephone, forexample, uses a ten-button keypad to enter alphanumeric charactersrepresenting a telephone number or a text message. Due to device designand layout restrictions, the number of controls, or keys, on manydevices is often limited, requiring that each control correspond tomultiple characters. Telephones, for example, often assign the letters“J,” “K,” and “L,” as well as the number “5” to the button labeled “5.”

To enter one of the multiple characters associated with a singlecontrol, the control is repetitively selected until the signalcorresponding to the desired character is output. In a telephonyexample, selecting the “5” button once will cause the character “J” tobe output, selecting the “5” button twice will cause the character “K”to be output, selecting the “5” button three times will cause thecharacter “L” to be output, and selecting the “5” button four times willcause the character “5” to be output.

In addition to these repetitive control selections, other controls mayalso need to be selected for a desired character to appear. Acapitalized character or a symbol, for example, may require that the aspecial control be selected, or that multiple controls be selected in aconfusing sequence.

Because repetitive control selection is required to cause the output ofa single character, entry of characters into a device often occursslowly. Furthermore, output of a subsequent character which is alsoassociated with the same control requires that a predetermined amount oftime pass since the prior selection of the control. When entering twoconsecutive characters using the same control, for example to enter “h”and “i” to form the word “hi”, the predetermined amount of time mustpass after the “h” character was output before the “i” may be output, ora separate control selection may be required to move a cursor to thenext position. This approach, however, is both frustrating and timeconsuming.

Accordingly, it is desirable to provide for the enhanced output ofsignals, such as signals corresponding to characters, which overcomesthe deficiencies of conventional signal output techniques.

SUMMARY

According to one general aspect, a method is disclosed. The methodincludes determining a neutral position of a device in relation to atleast a first axis, the device including at least a first controlassociated with a first plurality of output signals, and measuring anangular displacement of the device about at least the first axis. Themethod also includes receiving a selection of the first control, andoutputting one of the first plurality of output signals based at leastupon the selection and the angular displacement.

Implementations may include one or more of the following features. Forexample, the neutral position of the device may be determined inrelation to at least a second axis, orthogonal to the first axis, wherethe angular displacement may include a first-axis component and asecond-axis component. Furthermore, the neutral position of the devicemay be determined in relation to at least a third axis orthogonal to thefirst axis and the second axis, where the angular displacement mayinclude a third-axis component. The first axis, the second axis, and/orthe third axis may intersect within the device.

The first control may be associated with at least three output signals,or at least nine output signals, where each of the plurality of outputsignals may correspond to a character, such as an alphanumericcharacter. The method may further include displaying the output signal,and/or displaying an indication of the angular displacement. The methodmay also further include defining a plurality of tilt regions about thefirst axis, wherein one of the first plurality of output signals is alsooutput based upon the plurality of tilt regions. The angulardisplacement of the device about the first axis may be measured as 0°,where a first tilt region encompasses an angular displacement of 0°, orthe first tilt region may be defined as a region encompassingapproximately −30° to 0° about the first axis, where the second tiltregion is defined as a region encompassing approximately 0° to +30°about the first axis. In a further aspect, a first output signal may beoutput if the angular displacement is within the first tilt region whenthe selection is received, where a second output signal may be output ifthe angular displacement is within the second tilt region when theselection is received. A third or fourth output signal may be output ifthe angular displacement is within the third or fourth tilt region,respectively, when the selection is received.

The method may also define a plurality of first-axis tilt regions aboutthe first axis and a plurality of second-axis tilt regions about thesecond axis, where the one of the first plurality of output signals mayalso be output based upon the plurality of first-axis tilt regionsand/or the plurality of second-axis tilt regions. When the selection isreceived, a first output signal may be output if the first-axiscomponent is within a first first-axis tilt region and if thesecond-axis component is within a first second-axis tilt region, asecond output signal may be output if the first-axis component is withina second first-axis tilt region and if the second-axis component iswithin the first second-axis tilt region, a third output signal may beoutput if the first-axis component is within the second first-axis tiltregion and if the second-axis component is within a second second-axistilt region, and/or a fourth output signal may be output if thefirst-axis component is within the second first-axis tilt region and ifthe second-axis component is within the second second-axis tilt region.

Alternatively, in another aspect, when the selection is received, afirst output signal may be output if the first component is within afirst first-axis tilt region and if the second-axis component is withina first second-axis tilt region, a second output signal may be output ifthe first component is within the first first-axis tilt region and ifthe second-axis component is within a second second-axis tilt region, athird output signal may be output if the first component is within thefirst first-axis tilt region and if the second-axis component is withina third second-axis tilt region, a fourth output signal may be output ifthe first component is within a second first-axis tilt region and if thesecond-axis component is within the first second-axis tilt region, afifth output signal may be output if the first component is within thesecond first-axis tilt region and if the second-axis component is withinthe second second-axis tilt region, a sixth output signal may be outputif the first component is within the second first-axis tilt region andif the second-axis component is within the third second-axis tiltregion, a seventh output signal may be output if the first component iswithin a third first-axis tilt region and if the second-axis componentis within the first second-axis tilt region, an eighth output signal maybe output if the first component is within the third first-axis tiltregion and if the second-axis component is within the second second-axistilt region, and/or a ninth output signal may be output if the firstcomponent is within the third first-axis tilt region and if thesecond-axis component is within the third second-axis tilt region.

According to another general aspect, a device is disclosed. The deviceincludes a tilt sensor configured to determine a neutral position of adevice in relation to at least a first axis, and further configured tomeasure an angular displacement of the device about at least the firstaxis. The device also includes at least a first control associated witha first plurality of output signals, and a processor configured toreceive a selection of the first control and further configured tooutput one of the first plurality of output signals based at least uponthe selection and the angular displacement.

Implementations may include one or more of the following features. Forexample, the first axis and the second axis may intersect at a center ofthe device, or at a periphery portion of the device. The device mayfurther include at least second through tenth controls each associatedwith second through tenth pluralities of output signals, respectively.The first control may be a button, and/or the device may be a telephone.The displacement signal may be measured using a tilt sensor, which maybe a gyroscope. The device may further include a display configured todisplay the output signal, and/or configured to display an indication ofthe angular displacement, and the device may further include a keyboardconfigured to input the selection.

According to another general aspect, a computer program product,tangibly stored on a computer-readable medium, is disclosed. Thecomputer program product is operable to cause a computer to performoperations including determining a neutral position of a device inrelation to at least a first axis, the device including at least a firstcontrol associated with a first plurality of output signals, andmeasuring an angular displacement of the device about at least the firstaxis. The computer program product is also operable to cause a computerto perform operations including receiving a selection of the firstcontrol, and outputting one of the first plurality of output signalsbased at least upon the selection and the angular displacement.

According to another general aspect, a telephone device is disclosed.The telephone device includes a tilt sensor configured to determine aneutral position of the telephone device in relation to at least a rollaxis, and further configured to measure an angular displacement of thetelephone device about the roll axis. The telephone device also includesat least first through eighth buttons each associated with at least fouralphanumeric characters. Furthermore, the telephone device includes aprocessor configured to receive a selection of the first button andfurther configured to output one of the at least four alphanumericcharacters based at least upon the selection and the angulardisplacement.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings, in which like reference number representcorresponding parts throughout:

FIG. 1 depicts the exterior appearance of a device according to oneexemplary implementation, in a state where the device is in the neutralposition;

FIG. 2 depicts an example of an internal architecture of theimplementation of FIG. 1;

FIG. 3 is a flowchart illustrating a method in accordance with anotherexemplary implementation;

FIGS. 4A to 4D depict examples of tilt regions that are defined about aneutral axis;

FIG. 5 illustrates a top exterior view of an example device according toanother exemplary implementation;

FIGS. 6A to 6E illustrate example indicators according to one exemplaryaspect;

FIGS. 7A and 7B illustrate front and side views, respectively, of thedevice of FIG. 5, shown in the neutral position;

FIGS. 8A and 8B illustrate front views of the device of FIG. 5, shown ina state where the FIG. 5 device is manipulated in a negative rollorientation and a positive roll orientation, respectively;

FIGS. 9A and 9B illustrate side views of the device of FIG. 5, shown ina state where the FIG. 5 device is manipulated in a positive pitchorientation and a negative pitch orientation, respectively;

FIG. 10 is a table showing one possible mapping of device orientationsused to output signals corresponding to characters and cases that areoutput when a control is selected; and

FIGS. 11A and 11B illustrate a menu of symbols that is displayed inaccordance with another exemplary implementation.

DETAILED DESCRIPTION

FIG. 1 depicts the exterior appearance of a device according to oneexemplary implementation, in a state where the device is in the neutralposition. The hardware environment of device 100 includes a keypadincluding at least a first control 102 for entering text data and usercommands into the device 100, a display 105 for displaying text andimages to a user, and an indicator, such as a tilt indicator 106, fordisplaying an indication of angular displacement or tilt orientationabout at least one axis.

Display 105 displays the graphics, images, and text that comprise theuser interface for the software applications used by thisimplementation, as well as the operating system programs necessary tooperate the device 100. A user of device 100 uses first control 102 toenter commands and data to operate and control the operating systemprograms as well as the application programs.

Display 105 is configured to display the GUI to a user of device 100. Aspeaker may also be present also generate voice and sound data receivedfrom the application programs operating on device 100, such as a voicefrom another user generated by a telephone application program, or aring tone generated from a ring tone application program. A microphonemay also be used to capture sound data generated by the user, forexample, when the user is speaking to another user during a telephonecall via device 100. Furthermore, tilt indicator 106 is configured toindicate the angular displacement or tilt orientation of device 100, toprovide visual feedback to the user of device 100 and to make the useraware of the tilt orientation that will be used to interpret a controlselection.

The operation of device 100 is based upon its orientation in two states:the “neutral” position, and a “selection” position corresponding to theposition of the device prior to, at the time of, or after the selectionof first control 102. More specifically, and as described fully below,the output of an output signal by device 100 is dependent upon theangular displacement between the neutral position and the selectionposition, in relation to at least one axis, where the angulardisplacement has an angular displacement component for each axis ofinterest.

FIG. 1, for example, depicts device 100 in one contemplated three-axisneutral position In particular, orthogonal X, Y and Z-axes intersect atthe center of device 100, where the X-axis extends parallel to thelongitudinal direction of device 100. According to this exemplaryneutral position, a rotation around the X-axis would effectuate arolling motion, a rotation around the Y-axis would effectuate a pitchingmotion, and a rotation around the Z-axis would effectuate a yawingmotion. These roll, pitch, and yaw motions are generically referred toherein as “tilt” motions.

The determination of the number of axes of interest, and the locationand orientation of the axes with relation to device 100, is adevice-specific and application-specific determination, and nolimitation of any of these characteristics is inferred in the followingdescription. For example, where it is undesirable or impossible tomanipulate the device in a yawing motion, or where the number of outputsignals may be effectively controlled using motion about one or twoaxes, the neutral position of the device may be determined with regardto these one or two axes alone. Furthermore, the at least one axis maynot intersect device 100, or the at least one axis may extend along aperiphery or edge portion of device 100. Additionally, one of the axesmay extend parallel along the longitudinal direction of device 100 or itmay extend at an angle to the longitudinal direction of device 100. Inany regard, the neutral position is aligned with an axis relative to theEarth, such as a magnetic or true North axis, or an axis pointing to thecenter of the Earth, or toward the horizon, with an axis relative to theuser, the device, or other axis.

With regard to telephony, a one-axis neutral position is provided in thecase where angular displacement is to be measured with regard to rollrotation around the X-axis, or a two-axis neutral position is providedin the case where angular displacement is to be measured with regard toroll and pitch rotation around the X-axis and Y-axis, respectively. Ineither case, the X-axis and Y-axis intersect at the center of thedevice, with the X-axis extending longitudinally parallel to thelongitudinal direction of the device. Other neutral positionorientations are contemplated as well.

When inputting characters into a device such as a telephone, the usertypically holds the device at an positive (upwards) pitch angle whilelooking into the display. In that regard, the X-axis of the telephone inthe neutral position may be defined at a similar upwards angle, suchthat flattening the angle of the telephone with regard to the groundwould be registered as a pitched forward tilting motion. In otherinstances, of course, an X-axis which is parallel to the ground is the“neutral” X-axis position.

Although device 100 is illustrated in FIG. 1 as a mobile telephone, infurther aspects device 100 may include a desktop PC, a laptop, aworkstation, a midrange computer, a mainframe, a handheld or tabletcomputer, a personal data assistant (“PDA”) or another type of embeddedsystem such as a computer keyboard or a remote control.

FIG. 2 depicts an example of an internal architecture of theimplementation of FIG. 1. The computing environment includes processor200 where the computer instructions that comprise an operating system oran application are processed; display interface 202 which provides acommunication interface and processing functions for rendering graphics,images, and texts on display 105; keypad interface 204 which provides acommunication interface to the keypad, including first control 102; tiltsensor 206 for measuring angular displacement of device 100 about atleast a first axis; indicator interface 208 which provides acommunication interface to the indicators, including tilt indicator 106,random access memory (“RAM”) 210 where computer instructions and dataare stored in a volatile memory device for processing by processor 200;read-only memory (“ROM”) 211 where invariant low-level systems code ordata for basic system functions such as basic input and output (“I/O”),startup, or reception of keystrokes from the keypad are stored in anon-volatile memory device; and optionally a storage 220 or othersuitable type of memory (e.g. such as random-access memory (“RAM”),read-only memory (“ROM”), programmable read-only memory (“PROM”),erasable programmable read-only memory (“EPROM”), electrically erasableprogrammable read-only memory (“EEPROM”), magnetic disks, optical disks,floppy disks, hard disks, removable cartridges, flash drives), where thefiles that comprise operating system 230, application programs 240 anddata files 246 are stored. The constituent devices and processor 200communicate with each other over bus 250.

RAM 210 interfaces with bus 250 so as to provide quick RAM storage toprocessor 200 during the execution of software programs such as theoperating system application programs, and device drivers. Morespecifically, processor 200 loads computer-executable processes frommemory media into a field of RAM 210 in order to execute softwareprograms. Data is stored in RAM 210, where the data is accessed byprocessor 200 during execution.

Also shown in FIG. 2, storage 220 stores computer-executable code for anoperating system 230, application programs 240 such as word processing,spreadsheet, presentation, graphics, image interpretation training,gaming, or other applications, and data files 246. Although it ispossible to use the above-described implementation, it is also possibleto implement the functions according to the present disclosure as adynamic link library (“DLL”), or as a plug-in to other applicationprograms such as an Internet web-browser such as the MICROSOFT® InternetExplorer web browser.

Processor 200 is one of a number of high-performance computerprocessors, including an INTEL® or AMD® processor, a POWERPC® processor,a MIPS® reduced instruction set computer (“RISC”) processor, a SPARC®processor, a HP ALPHASERVER® processor, an ACORN® RISC Machine (“ARM®”)architecture processor, or a proprietary computer processor for acomputer or embedded system, without departing from the scope of thepresent disclosure. In an additional arrangement, processor 200 indevice 100 is more than one processing unit, including a multiple CPUconfiguration found in high-performance workstations and servers, or amultiple scalable processing unit found in mainframes.

Operating system 230 may be MICROSOFT® WINDOWS NT®/WINDOWS®2000/WINDOWS® XP Workstation; WINDOWS NT®/WINDOWS® 2000/WINDOWS® XPServer; a variety of UNIX®-flavored operating systems, including AIX®for IBM® workstations and servers, SUNOS® for SUN® workstations andservers, LINUX® for INTEL® CPU-based workstations and servers, HP UXWORKLOAD MANAGER® for HP® workstations and servers, IRIX® for SGI®workstations and servers, VAX/VMS for Digital Equipment Corporationcomputers, OPENVMS® for HP ALPHASERVER®-based computers, MAC OS® X forPOWERPC® based workstations and servers; SYMBIAN OS®, WINDOWS MOBILE® orWINDOWS CE®, PALM®, NOKIA® OS (“NOS”), OSE®, or EPOC® for mobiledevices, or a proprietary operating system for computers or embeddedsystems. The application development platform or framework for operatingsystem 230 may be: BINARY RUNTIME ENVIRONMENT FOR WIRELESS® (“BREW®”);Java Platform, Micro Edition (“Java ME”) or Java 2 Platform, MicroEdition (“J2ME®”); PYTHON™, FLASH LITE®, or MICROSOFT®.NET Compact.

Tilt sensor 206 detects the orientation of device 100, as describedbelow, and is a gyroscope, an optical sensor, and/or other type of tiltsensor. An optical sensor, for example, may be used to detect theorientation of device 100 using an optical flow of a sequence of imagesfrom a camera embedded in device 100 to determine the motion andorientation of device 100. Optical flow describes the apparent relativevelocity of features within a sequence of images. Since optical flow isrelative to the camera, motion of the camera will result in apparentvelocities of features in the camera view. The motion of the camera iscalculated from the apparent velocities of features in the camera view.Position or orientation are also calculated relative to the neutralposition, over an extended span of time. Although tilt sensor 206 hasbeen described as an optical sensor using an optical flow approach fortracking the tilt or inclination of device 100 using camera, in otheraspects the tilt or inclination of device 100 is tracked without usingthe optical flow approach, such as by using an accelerometer.

Computer readable memory media stores information within device 100, andis volatile or non-volatile. Memory may be capable of providing massstorage for device 100. In various different implementations, the memorymay be a floppy disk device, a hard disk device, an optical disk device,or a tape device. While FIGS. 1 and 2 illustrate one possibleimplementation of a computing system that executes program code, orprogram or process steps, other types of computers or devices may alsobe used as well.

FIG. 3 is a flowchart illustrating a method in accordance with anotherexemplary implementation. Briefly, the method includes determining aneutral position of a device in relation to at least a first axis, thedevice including at least a first control associated with a firstplurality of output signals, and measuring an angular displacement ofthe device about at least the first axis. The method also includesreceiving a selection of the first control, and outputting one of thefirst plurality of output signals based at least upon the selection andthe angular displacement.

In more detail, method 300 begins (step S301), and a plurality of tiltregions are defined about a first axis (step S302). As is described inmore detail below, the output of an output signal is based at least uponthe angular displacement of a device upon the selection of a firstcontrol. In accordance with one aspect, tilt ‘regions’ are defined suchthat, upon the selection of the control, if the angular displacementfalls within a particular tilt region or band of angles, an outputassociated with the tilt region is output.

FIGS. 4A to 4D illustrates several example tilt regions with regard to ahypothetical neutral axis, labeled the “N-axis,” where the neutralrepresents the neutral X, Y and/or Z-axis. Each of the X, Y, or Z-axiscan have individually-determined tilt regions, a common tilt regiondefinition can be applied to multiple axes, or axes can have no definedtilt regions.

FIG. 4A illustrates an example of two tilt regions defined about theneutral axis. An angular displacement from approximately −90° to 0°about the neutral axis is within region 401, and an angular displacementfrom approximately 0° to approximately 90° about the neutral example iswithin region 402. An angular displacement from approximately 91° to−91°, indicative of a device that is upside down, does not correspond toany region, and an angular displacement of exactly 0° is in eitherregion 401 or 402.

Where the neutral axis represents the X-axis, an angular displacement inregion 401 would result from a negative roll of the device (to theleft), and an angular displacement in region 402 would result from apositive roll of the device (to the right). Where the neutral axisrepresents the Y-axis, an angular displacement in region 401 wouldresult from a negative pitch (forward) the device, and an angulardisplacement in region 402 would result from a positive pitch (rearward)of the device. Where the neutral axis represents the Z-axis, an angulardisplacement in region 401 would result from a negative yaw(counterclockwise), and an angular displacement in region 402 wouldresult from a positive yaw (clockwise). Although two tilt regions aredepicted, any number of tilt regions may be defined, depending largelyupon the sensitivity of the tilt sensor, the number of output signalsassociated with each control and the ability of the user to discriminatebetween small angles when manipulating the device.

In any case, the signal output by the device is dependant upon theangular displacement and the tilt region. For example, the deviceoutputs a first of a plurality of signals if the angular displacement ofthe device is within a first region, and a second of a plurality ofsignals if the angular displacement of the device is within a secondregion, even if the same control is selected in both circumstances.Although FIG. 1 illustrates regions 401 and 402 as encompassing ±90°bands, in a similar aspect tilt region 401 defines a region encompassingapproximately −30° to 0° about the neutral axis, and the tilt region 402defines a region encompassing approximately 0° to +30° about the neutralaxis.

FIG. 4B illustrates an example of four tilt regions defined about theneutral axis, with a dead space between regions at 0° about the neutralaxis. Due to the insensitivity of a tilt sensor, the inability of a userto discriminate, or for other reasons, it is often desirable define adead space between two otherwise-adjacent regions. Where the neutralaxis represents the Y-axis, an angular displacement of betweenapproximately 91° to −91 °, indicative of a device which is upside down,or an angular displacement of approximately 0° does not correspond toany tilt region. If a control is selected when the device is notoriented in a tilt region, a default output is output, the last outputis output, no output is output, an output associated with the closesttilt region or a complementary tilt region is output, or another type ofoutput is output.

An angular displacement in region 404 would result from a hard negativepitch of the device, although an angular displacement in region 405would also result from a negative pitch which is lesser in magnitudethan a region 404 negative pitch. An angular displacement in region 407would result from a hard positive pitch of the device, although anangular displacement in region 406 would also result from a positivepitch which is lesser in magnitude than a region 407 negative pitch.

FIG. 4C illustrates an example of two tilt regions defined about theneutral axis, where the area around 0° about the neutral axis issubstantially within a first region. In particular, where the neutralaxis represents the X-axis, the device would remain in region 409 ifnegatively rolled, if unmoved from the neutral position, or if modestlyrolled in the positive direction. In order for the device to be orientedin region 410, a hard positive roll would have to occur. The tiltregions depicted in FIG. 4C would be desirable, for instance, whereregion 409 represents a default desired output, and where anaffirmative, high magnitude manipulation of the device would benecessary to place the device in region 410, thus overriding the defaultdesired output. In the FIG. 4C example, tilt region 409 encompasses anangular displacement of 0°, where the angular displacement of the deviceis in tilt region 409 if the angular displacement about the first axisis measured as 0°.

FIG. 4D illustrates an example of two tilt regions defined about theneutral axis, where a single region occupies angular displacement bandson both sides of the neutral axis. More particularly, region 412 isdefined by the area surrounding 0° about the neutral axis, and region411 occupies symmetrical angular bands in the positive and negativeangular directions. Where the neutral axis represents the Z-axis, anangular displacement in region 411 would result from a high-magnitudepositive or negative yaw. An angular displacement in region 412 wouldresult from a more modest positive or negative yaw, or from theorientation of the device remaining in the neutral position.

In any of the above described examples, the neutral axis may representthe X, Y, and/or Z-axis, thus effectively multiplying the total numberof available tilt regions. For example, if the neutral axis in the FIG.4A example represents the X-axis, and the neutral axis in the FIG. 4Bexample represents the Y-axis, a total of eight tilt regions would beavailable, since the four pitch tilt regions of FIG. 4B would each bedivided into the two roll tilt regions of the FIG. 4A example. Assumingthat each axis has an equal number n tilt regions, the total number oftilt regions for a two-axis arrangement is n² and the total number oftilt regions for a three-axis arrangement is n³.

Finally, it is contemplated that in some instances the angulardisplacement itself, and not the tilt region, will be determinative ofthe output signal, and thus would be unnecessary to define tilt regions.Furthermore, tilt regions are also defined implicitly in the case wherethe range of motion about a desired axis is divided equally by thenumber of output signals, where each output signal corresponds to amathematically-determined range of angles.

Returning to FIG. 3, the neutral position of a device is determined inrelation to at least a first axis, the device including at least a firstcontrol associated with a first plurality of output signals (step S304).

FIG. 5 illustrates a top exterior view of an example device accordinganother exemplary implementation. Device 500, a mobile telephone, has akeypad including at least first control 502 associated with a firstplurality of output signals. In the illustrated example, first control502 is a key, or button, on the keypad or keyboard of device 500, whereeach individual control represents a multiple of alphanumeric charactersor symbols. Specifically, first control 502 is labeled “9”, andcorresponds to four output signals indicative of the characters “W”,“X”, “Y” and “Z”, or twelve output signals indicative of thecase-sensitive characters “W”, “X”, “Y”, “Z”, “w”, “x” “y”, “z”, and thesymbols “,”, “.”, “/”, and “'”. There is no limit for the number ofoutput signals or characters that can correspond to a single control. Inparticular aspects, first control 502 is associated with a plurality ofoutput signals, such as three output signals, or nine output signals.Each of the plurality of output signals may correspond to a character,such as an alphanumeric character or a symbol.

The neutral position of device 500 is determined, for example, whendevice 500 is powered on, prior to or after a selection of the firstcontrol, or at the site of manufacture. In one aspect, a memory bufferstores output data of the tilt sensor, and the neutral position ofdevice 500 is reconstructed from the orientation of device 500 when acontrol is selected and the output data. In another aspect, the neutralposition is a factory pre-set condition, such as the case where theneutral X-axis is defined as extending perpendicular to the center ofthe Earth, such that an angular displacement is measured if device 500faces any direction other than up. In a further aspect, a processor, atilt sensor, and the memory communicate to determine a common neutralposition based upon the average position of device 500 whenever thecontrol is ordinarily selected. Moreover, in an additional aspect, theneutral position is user-selectable. In any regard, the neutral positionoperates effectively to reset the tilt sensor to 0° across each axis ofinterest, where any motion of device 500 away from the neutral positionserves to register an angular displacement. In relation to the user ofdevice 500 or the Earth, the neutral position is a flat position, avertical upright position, or a canted or tilted position.

In an additional aspect, the neutral position of device 500 isdetermined in relation to at least a second axis, orthogonal to thefirst axis, where the angular displacement includes a first-axiscomponent and a second-axis component. In a further aspect, the neutralposition of device 500 is determined in relation to at least a thirdaxis orthogonal to the first axis and the second axis, where the angulardisplacement includes a third-axis component. The first axis, the secondaxis, and/or the third axis intersect within the device 500, outside ofdevice 500, or along a peripheral portion or edge of device 500.

Since device 500 includes a tilt sensor that detects the orientation ofthe device, entry of text into the device is facilitated. For example,the tilt sensor detects a degree to which the device has been rolled tothe left, to the right, or pitched up or down, where the tiltorientation or angular displacement of the device about the axes ofinterest indicates how selection of control 502 is interpreted andoutput. For example, if control 502 corresponds to multiple characters,the orientation of device 502 identifies which of the multiplecharacters is output when control 502 is selected, or identify a case inwhich the appropriate character is output.

Using the orientation of the device to identify a character to be outputenables a character to be output each time a single control is selected,increasing the speed of text entry by reducing the number of controlselections required to enter text. Because a fixed number of controlsselections represents entry of a character, a user may specify asubsequent character immediately after a current character has beenspecified, eliminating the need to wait for a predetermined amount oftime before specifying the subsequent character, also increasing thespeed of text entry.

As indicated above, the neutral position of the device is a referenceorientation from which an angular displacement is measured about atleast one axis, to the selection position, the selection positioncorresponding to the position of the device prior to, at the time of, orafter the selection of a control such as the first control. In oneaspect, the neutral position of the device is determined in relation toone axis, and the neutral position is determined as a “flat” position,where the one axis is parallel to the ground. In another aspect, theneutral position of the device is determined in relation to two axis,and the neutral position is ergonomically determined as the orientationof a device as it would commonly be held by a user of the device. In afurther aspect, the neutral position of the device is determined inrelation to three axis, where one axis is determined as parallel to amagnetic North-South axis, one axis is determined as parallel to anEast-West axis, and the third axis is determined as facing towards andaway from the center of the Earth.

Returning to FIG. 3, an angular displacement of the device is measuredabout at least the first axis (step S305). In particular, a tilt sensor,such as tilt sensor 206, measures the angular displacement between thecurrent position of the device and the neutral position, where theangular displacement includes a component for each axis of interest. Inone aspect, the tilt sensor 206 measures the angular displacement of thedevice at the moment the control is selected. Since the selection of thecontrol itself may affect the orientation of the device, in anotheraspect the tilt sensor measures the angular displacement of the device atime before or after the control is selected.

The tilt sensor detects the orientation of the device. For example, thetilt sensor detects a degree to which the device has been rolled to theleft or right, pitched up or down, or yawed clockwise orcounterclockwise. In one aspect, the tilt sensor measures at least twodiscrete levels of roll tilt about the X-axis, in which case the devicemay be said to be rolled left, rolled right, or not rolled left orright. In addition, the tilt sensor measures at least two discretelevels of pitch tilt about the Y-axis in the forward or backwarddirection, in which case the device may be said to be pitched up,pitched down, or not pitched up or down. Further, the tilt sensormeasures at least two discrete levels of yaw tilt about the Z-axis, inwhich case the device may be said to be yawed clockwise, yawedcounterclockwise, or not yawed. In such an implementation, the tiltsensor indicates that the device has been rolled to the left when thedevice has been rolled between 15° and 45° to the left. As anotherexample, the tilt sensor indicates that the device has not been pitchedforward or backwards when the device has been pitched less than 15°forward and less than 15° backward. In another implementation, the tiltsensor may indicate more than three levels of tilt in each of theleft-to-right and forward or backwards directions. In such animplementation, each of the levels of tilt in a particular directioncorresponds to a range of degrees in which the device has been tilted.

An indication of the angular displacement is displayed (step S306). Asdescribed above, it is possible that the orientation of the neutralposition may not be instinctive to a user. Furthermore, each axis mayhave two or more tilt regions in each direction about each axis. Forthese and other reasons, an indicator is provided to display either anindication of the angular displacement, or an indication of the tiltregion to which the angular displacement corresponds, in real-time ornear real-time. If the angular displacement is measured at a time beforeor after the control is selected, the indicator estimates theappropriate angular displacement or indication of the tilt region at thetime based upon all available information. If the neutral position isdefined in relation to more than one axis, the user can determine whichaxis the indicator is indicating, the indicator can have a default orpreset axis of interest, or the determination may be context sensitive.

FIGS. 6A to 6B illustrate example indicators according to one exemplaryaspect. In FIG. 6A, indicator 600 indicates the orientation of thedevice on a display. The indicator provides visual feedback so that theuser is aware of the orientation of the device that will be used tointerpret a control selection.

Indicator 600 includes positive tilt indicator 601 and negative tiltindicator 604, that point in the negative (left) and positive (right)directions, respectively. In addition, indicator 600 includes centerindicator 602 that is visually distinguished from positive tiltindicator 601 and negative tilt indicator 604 when the device is nottilted, such as when the device is in the neutral position or in aposition that is unregistered by the tilt sensor, such as upside down.One of the tilt indicators is illuminated or otherwise visuallydistinguished from the other tilt indicator and center indicator 602when the device is tilted in the indicated direction. Furthermore,center indicator 602 is illuminated or otherwise visually distinguishedfrom positive tilt indicator 601 and negative tilt indicator 604 whenthe device is not rolled to the left of the right. The center indicator,for example would be illuminated when the device is oriented asillustrated in FIG. 1. Positive tilt indicator 601 would be illuminatedwhen the device is oriented as illustrated in region 402 of FIG. 4A, andnegative tilt indicator 604 would be illuminated when the device isoriented as illustrated in region 401 of FIG. 4A.

In another implementation illustrated in FIGS. 6B and 6C, indicator 605also includes two partial tilt indicators 606 and 607 that also point inthe negative and positive directions, respectively. Each of the partialtilt indicators is located between center indicator 604 and eithernegative tilt indicator 604 or positive tilt indicator 601. The partialtilt indicators are illuminated or otherwise visually distinguished fromthe other components of indicator 605 when the device is tiltedpartially in a indicated direction. In one implementation, both thepartial tilt indicator and the center indicator are illuminated when thedevice is partially tilted partially in the corresponding direction. Forexample, negative tilt indicator 604 would be illuminated when thedevice is oriented in tilt region 404 of FIG. 4B, negative partial tiltindicator 606 and center indicator 602 would be illuminated when thedevice is oriented in tilt region 405 of FIG. 4B, center indicator 602would be illuminated when the device is oriented in the neutralposition, as illustrated in FIG. 1, positive partial tilt indicator 607and center indicator 602 would be illuminated when the device isoriented in tilt region 406 of FIG. 4B, and positive tilt indicator 601would be illuminated when the device is oriented in tilt region 407 ofFIG. 4B. Any number of tilt indicators or partial tilt indicators arecontemplated for each axis. For an axis having several dozen associatedtilt regions, for example, the same number, more or fewer tiltindicators may be used to provide visual feedback.

FIG. 6D illustrates a two-axis tilt indicator which may be presented onthe display. Although the axes discussed in conjunction with FIG. 6D arereferred to as the pitch (forward and backward) and roll (left andright) axes, these designations are arbitrary, and one set of indicatorscould also be the yaw axis, or another axis. Indicator 609 operatessimilarly to indicator 605 with regard to one axis, however, indicator609 also integrates a pitch tilt indicator comprising negative pitchindicator 610, partial negative pitch indicator 611, partial positivepitch indicator 612, and positive pitch indicator 614, to the previouslydescribed one-axis indicator 605, which was described as a rollindicator. In another aspect illustrated in FIG. 6E, the indicatorincludes a single feature 615 that indicates the significance of theorientation of the device. For example, the single feature indicatorindicates whether or not numbers may be output because of themeasurement of the angular displacement of the device.

Although the indicator is depicted in FIGS. 1 and 6 as a series ofarrows or intuitive lights, in one aspect the indicator is incorporatedinto the display, such as display 105, or the indicator is a speakerwhich plays sounds or sound files which describe the tilt of the deviceto the user via audio. Furthermore, in another aspect, no indication ofangular displacement or tilt region is displayed or otherwise generated.

Returning to FIG. 3, a selection of the first control is received (stepS307). In one aspect, the control is a keypad button, and selectionoccurs when the user depresses the button, thereby enabling a signal tobe generated and transmitted to the processor indicating that aselection of the keypad button has occurred. In another aspect, thecontrol is not a physical control, but rather an icon on atouch-sensitive screen. In this aspect, selection occurs when the usertouches an area of the touch-sensitive screen associated with the icon,where a touch-sensitive screen application reads the coordinates of thetouch, correlates the coordinates with the location of the icon, andtransmits a signal indicating that the control has been selected. Othertypes of control selections are also contemplated.

According to the FIG. 5 implementation, device 500 includes a keypad, orgrouping of controls, which enables the user to enter text in order tointeract with the GUI presented on display 505. Each control correspondsto multiple output signals, each output signal associated with acharacters. In one aspect, the keypad includes eight controls, labeled“2” to “9”, that each correspond to multiple letters and a number. Forexample, the control labeled “2” corresponds to the letters “A,” “B,”and “C,” and the number “2.” In addition, other controls included in thekeypad perform other text entry functions. For example, the controllabeled “*” is used to change the case of a next character that isoutput. The control labeled “0” is used to advance to a subsequentcharacter after a current character has been specified, and the controllabeled “#” is used to insert a “space” character.

One of the first plurality of output signals is output based at leastupon the selection and the angular displacement (step S309), or at leastupon the selection, the angular displacement, and the plurality of tiltregions. Since the first control is associated with a first plurality ofoutput signals, the angular displacement, or the angular displacementand the plurality of tilt regions are used to determine which one of thefirst plurality of output signals are output. In one aspect, the neutralposition of the device is determined in relation to one axis, wherethree tilt regions are defined around that one axis, and where the firstcontrol is associated with three tilt regions. In this case, if theangular displacement is in the first tilt region, the first outputsignal is output, if the angular displacement is in the second tiltregion, the second output signal is output, and if the angulardisplacement is in the third tilt region, the third output signal isoutput. In an alternative aspect, the output signal is output based uponthe angular displacement and the number of output signals associatedwith the first control, based upon a formula or an algorithm.

FIGS. 7 to 10 depict front and side views of the FIG. 5 device indifferent states of manipulation. In particular, FIGS. 7A and 7Billustrate front and side views, respectively, of device 500 in theneutral position. FIG. 8A illustrates a front view of the devicemanipulated in a negative roll about the X-axis and FIG. 8B illustratesa front view of the device manipulated in a positive roll about theX-axis. Similarly, FIG. 9A illustrates a side view of the devicemanipulated in a positive pitch about the Y-axis and FIG. 9B illustratesa side view of the device manipulated in a negative pitch about theY-axis. In FIGS. 8 and 9, the device has been tilted approximately ±30°about the respective axes from the neutral position, shown in FIG. 7.

The orientation of the device, as indicated by the angular displacementmeasured by the tilt sensor, when a control of the keypad is selectedaffects the output signal output by the device, affecting, for example,the character generated by the control selection. Each of the multiplecharacters or output signals represented by a single control of a keypadcorrespond to a different orientation of the device. When one of thecontrols of the keypad is selected, the device identifies the pluralityof characters that correspond to the selected control and theorientation of the device indicated by the tilt sensor. One of themultiple characters and a case for the character are identified based onthe identified orientation, and the identified character is output.

The degree to which the device has been rolled to the left or right whena control is selected affects which one of the multiple charactersrepresented by the control is output. In one implementation, thecontrols that represent multiple characters represent three letters, andthe letters represented by the control are listed from left to right onthe control. The device is configured to indicate that the device isrolled left, rolled right, or not rolled left or right. In one suchimplementation, rolling the device to the left when the control isselected indicates that the leftmost listed character should be output.Similarly, rolling the device to the right when the control is selectedindicates that the rightmost listed character should be output. Finally,keeping the device oriented in the neutral position when the control isselected indicates that the center character should be output.

In another implementation, rolling the device to the left when thecontrol is selected indicates that the rightmost listed character shouldbe output, rolling the device to the right when the control is selectedindicates that the leftmost listed character should be output, andkeeping the device oriented in the neutral position when the control isselected indicates that the center character should be output. Such animplementation may be used, for example, because rolling the device tothe left causes the rightmost listed character to appear above and moreprominently than the other listed characters, and rolling the device tothe right causes the leftmost listed character to appear above and moreprominently than the other listed characters.

In other implementations, the controls of the keypad represent more thanthree characters, such as three letters and a number, or four lettersand a number. For example, the control on a conventional telephonelabeled “7” corresponds to the letters “P,” “Q,” “R,” and “S,” and thenumber “7.” In such a case, the tilt sensor is configured to identifymore than three discrete left-to-right roll positions such that one ofthe more than three characters represented by a selected control may beidentified based only on the roll orientation of the device. Each of thediscrete roll positions correspond to one of the characters representedby the selected control . For example, if the selected control is thekey labeled “7”, the device being rolled as illustrated in region 404 ofFIG. 4B would indicate that the letter “P” should be output, the devicebeing rolled as illustrated in region 405 of FIG. 4B would indicate thatthe letter “Q” should be output, the device being rolled as illustratedin region 406 of FIG. 4B would indicate that the letter “R” should beoutput, the device being rolled as illustrated in region 407 of FIG. 4Bwould indicate that the letter “S” should be output, and the devicebeing oriented in the neutral position, as illustrated in FIG. 1, wouldindicate that the number “7” should be output.

While the roll orientation of the device is used to identify a characterto be output, the pitch orientation of the device is used to identify acase for the character. In one implementation, the device being pitched(or tilted) forward when a control is selected causes a character thatis identified by the roll (left-to-right tilt) orientation of the deviceto be output in upper case. Similarly, the device not being pitchedforward or backward (in a neutral pitch position) when a control isselected causes a character that is identified by the roll(left-to-right tilt) orientation of the device to be output in lowercase.

In some implementations, the device being pitched (or tilted) backwardmay cause a symbol to be output. The symbol may be a symbolcorresponding to the number represented by the selected control on aconventional computer keyboard. For example, if the control thatrepresents the number “1” is selected while the device is pitchedbackward, the symbol “!” may be output, because the symbol “!”corresponds to the number “1” on a conventional computer keyboard (e.g.,pressing “Shift” and “1” on a computer keyboard outputs the character“!”).

The tilt sensor is capable of detect more tilt positions in the pitchdirection than is necessary to indicate the case of the character to beoutput. As such, the pitch positions that are not used to indicate thecase of the character may be used to select the character. For example,a control may represent three letters and a number, and three rollpositions may be used to select among the three letters. Two pitchpositions may select the case for letters, and a third pitch tiltposition may select the number represented by the key.

Furthermore, the tilt sensor independently indicates whether the devicehas been rolled left, neutral, or right or whether the device haspitched forward, neutral, or backwards, thereby allowing the tilt sensorto indicate whether the device is in one of nine orientations. Each ofthe nine orientations may correspond to a character and a case for thecharacter.

FIG. 10 is a table showing one possible mapping of device orientationsto output signals corresponding to characters and cases that may beoutput when the control labeled “2” on the keypad is selected. In theillustrated mapping, the device being rolled left and pitched forwardcauses the capital letter “A” to be output, the device not being rolledor pitched in either direction case the lower case letter “b” to beoutput, and the device being pitched backwards causes the number “2” tobe output. In other implementations in which the tilt sensor mayidentify more than three roll positions or more than three pitchpositions, more orientations that may be mapped to characters and casesare available.

Output signals corresponding to characters are described as beingselected based on a first axis angular displacement or tilt position ofthe device, and output signals corresponding to upper or lower cases forthe characters are described throughout as being selected based on asecond axis angular displacement or position of the device. In otherimplementations, the angular displacement in different axes mayeffectuate the output of signals corresponding to characters or upperand lower cases of characters. In general, any orientation of the devicemay be mapped to any character and case for the character, regardless ofwhich of the axes was used to select the character or the case.

In addition to outputting a signal corresponding to a character that isoutput in response to selection of a control, the orientation of thedevice may be used to indicate a menu option that is to be selected. Forexample, selection of a control that does not correspond to anycharacters, such as the “1” key on a telephone, causes a menu to bepresented on the display of the telephone, where each option of the menucorrespond to a different orientation of the telephone. The orientationof the device when a control indicating that a selection from the menushould be made (e.g., an “OK” key, an “Enter” key, or the “1” key) isselected may indicate which of the menu options is selected. In oneaspect, a menu of symbols similar to what is illustrated in FIGS. 11Aand 11B is displayed when the “1” key is selected. Tilting the deviceand selecting the “1” key again may cause a corresponding symbol to beoutput. After a symbol has been output, letters and numbers may beoutput, as described above, until the “1” key is selected again todisplay the symbol menu. Fully inverting the device, shaking the device,or otherwise moving the device in a manner that is not interpreted as atilt of the device generates another menu.

A first output signal is output if the angular displacement is withinthe first tilt region when the selection is received, where a secondoutput signal is output if the angular displacement is within the secondtilt region when the selection is received. Furthermore, a third orfourth output signal is output if the angular displacement is within thethird or fourth tilt region, respectively, when the selection isreceived.

If a plurality of first-axis tilt regions are defined about the firstaxis and a plurality of second-axis tilt regions are defined about thesecond axis, the one of the first plurality of output signals may bealso output based upon the plurality of first-axis tilt regions and/orthe plurality of second-axis tilt regions. When the selection isreceived, a first output signal may be output if the first-axiscomponent is within a first first-axis tilt region and if thesecond-axis component is within a first second-axis tilt region, asecond output signal may be output if the first-axis component is withina second first-axis tilt region and if the second-axis component iswithin the first second-axis tilt region, a third output signal may beoutput if the first-axis component is within the second first-axis tiltregion and if the second-axis component is within a second second-axistilt region, and/or a fourth output signal may be output if thefirst-axis component is within the second first-axis tilt region and ifthe second-axis component is within the second second-axis tilt region.

Alternatively, in another aspect, when the selection is received, afirst output signal may be output if the first component is within afirst first-axis tilt region and if the second-axis component is withina first second-axis tilt region, a second output signal may be output ifthe first component is within the first first-axis tilt region and ifthe second-axis component is within a second second-axis tilt region, athird output signal may be output if the first component is within thefirst first-axis tilt region and if the second-axis component is withina third second-axis tilt region, a fourth output signal may be output ifthe first component is within a second first-axis tilt region and if thesecond-axis component is within the first second-axis tilt region, afifth output signal may be output if the first component is within thesecond first-axis tilt region and if the second-axis component is withinthe second second-axis tilt region, a sixth output signal may be outputif the first component is within the second first-axis tilt region andif the second-axis component is within the third second-axis tiltregion, a seventh output signal may be output if the first component iswithin a third first-axis tilt region and if the second-axis componentis within the first second-axis tilt region, an eighth output signal maybe output if the first component is within the third first-axis tiltregion and if the second-axis component is within the second second-axistilt region, and/or a ninth output signal may be output if the firstcomponent is within the third first-axis tilt region and if thesecond-axis component is within the third second-axis tilt region.

The output signal is displayed (step S310), and method 300 ends (stepS311). The output signal is displayed on a display, such as display 105.In an alternate aspect, the output signal is not displayed.

In the FIG. 5 implementation, device 500 also includes display 505,which is used to present a graphical user interface (“GUI”) to a user ofdevice 500. The GUI enables a user of device 500 to perform functionsthat require the user to enter text into device 500. For example, theuser may identify an entry for a person within a phonebook stored ondevice 500 by entering a name of the person. As another example, theuser may add an entry for a person to the phonebook by enteringinformation describing the person, such as the person's name and one ormore phone numbers used by the person. Furthermore, the GUI enables theuser to specify a text message that is to be sent from device 500 or tospecify another textual note that is to be stored on device 500. Device500 also displays a GUI that enables a user to specify a text message.

Interpreting control selections based on device orientations when thecontrol selections are made increases the number of operations that maybe performed with a single control selection. For example, each controlselection may be interpreted in a number of manners that is equal to thenumber of distinct orientations of the device that may be detected.Furthermore, the orientation of the device may indicate how selection ofcontrol that do not correspond to any characters may be interpreted.Therefore, a user may be enabled to quickly perform relatively complexoperations simply by tilting the device and selecting controls. Forexample, selecting the “*” key while the device is rolled to the leftmay cause a particular mode of text entry (e.g., numbers only, allcapital letters) to be used for text entry until the next time the “*”key is selected when the device is rolled to the left. In anotheraspect, the tilt sensor effectuates tilt scrolling, such that, uponreceipt of the selection of a control, a user interface is scrolledcorresponding to the direction of the tilt. A forward pitch occurring atthe time of control selection, for example, would result in the userinterface, or a menu item on the user interface, scrolling upward.

According to another general aspect, a computer program product,tangibly stored on a computer-readable medium, is recited. The computerprogram product is operable to cause a computer to perform operationsincluding determining a neutral position of a device in relation to atleast a first axis, the device including at least a first controlassociated with a first plurality of output signals, and measuring anangular displacement of the device about at least the first axis. Thecomputer program product is also operable to cause a computer to performoperations including receiving a selection of the first control, andoutputting one of the first plurality of output signals based at leastupon the selection and the angular displacement.

Finally, although a number of implementations have been described orexemplified as a telephone device, it is contemplated that the conceptsrelated herein are by no means limited to telephony, and are in factapplicable to a broad variety of devices, including any device in whichthe number of controls is minimized due to device design and layoutrestrictions. Sample devices include computer keyboards, remotecontrols, watches, joysticks or game controllers, or other computerinput or consumer electronic devices.

Accordingly, a number of implementations have been described.Nevertheless, it will be understood that various modifications may bemade. For example, elements of different implementations may becombined, supplemented, or removed to produce other implementations.Further, various technologies may be used, combined, and modified toproduce an implementation, such technologies including, for example, avariety of digital electronic circuitry, hardware, software, firmware,integrated components, discrete components, processing devices, memoryor storage devices, communication devices, lenses, filters, displaydevices, and projection devices.

1. A system comprising: a tilt sensor configured to measure tilt datarepresenting tilt of a device about at least a first axis, a secondaxis, and a third axis; and at least a first control located on thedevice and configured to receive user input that is different than themeasured tilt data; and a processor configured to receive a selection ofthe first control and further configured to output an output signalbased upon the selection of the first control and the tilt data.
 2. Thesystem of claim 1 wherein the tilt sensor is configured to measure thetilt data with respect to more than five tilt regions defined around thefirst axis and the processor is configured to select the output signalbased on which of the more than five tilt regions corresponds to thetilt data.
 3. The system of claim 1 wherein the tilt sensor isconfigured to measure the tilt data with respect to at least two tiltregions defined around the first axis, the at least two tilt regionsincluding tilt regions that are asymmetric about the first axis and theprocessor is configured to select the output signal based on which ofthe at least two tilt regions corresponds to the tilt data.
 4. Thesystem of claim 1 wherein the tilt sensor is configured to measure thetilt data with respect to at least three tilt regions defined around thefirst axis, and the tilt sensor is configured to measure the tilt datawith respect to at least two tilt regions defined around the secondaxis, the at least two tilt regions defined around the second axishaving a different number of tilt regions than the at least three tiltregions defined around the first axis.
 5. The system of claim 1 whereinthe tilt sensor is configured to measure the tilt data with respect toat least one tilt region defined around the first axis and the processoris configured to, when the processor receives the selection of the firstcontrol at a time when the tilt data is outside of any defined tiltregion, provide no output, provide output corresponding to a closestdefined tilt region, or provide output corresponding to a most recentoutput.
 6. The system of claim 1 wherein the first axis is definedoutside of the device.
 7. The system of claim 1 wherein the first axisis defined on an edge of the device.
 8. The system of claim 1 whereinthe first axis is defined at an angle that intersects a longitudinalaxis of the device.
 9. The system of claim 1 wherein the processor isconfigured to select a first character as the output signal when thetilt sensor measures no tilt or a negative tilt about the first axis andthe processor is configured to select a second character as the outputsignal when the tilt sensor measures a positive tilt about the firstaxis that is greater than a threshold, the second character beingdifferent than the first character.
 10. The system of claim 1 whereinthe tilt sensor is configured to automatically determine a commonneutral position of the device in relation to at least the first axisbased on past history of use of the device.
 11. The system of claim 1wherein the output signal represents something other than analphanumeric character.
 12. The system of claim 1 wherein the processoris configured to output an indication of magnitude of tilt about thefirst axis measured by the tilt sensor, the indication of magnitude ofthe tilt being different than the output signal.
 13. The system of claim1 wherein the tilt sensor is configured to measure the tilt data withrespect to at least two tilt regions defined around the first axis andthe processor is configured to output an indication of which of the atleast two tilt regions corresponds to the tilt data, the indication ofwhich of the at least two tilt regions corresponds to the tilt databeing different than the output signal.
 14. The system of claim 1wherein the tilt sensor is configured to measure the tilt data withrespect to the second axis, the processor is configured to output afirst full tilt indicator that corresponds to the first axis andrepresents a first full threshold of tilt with respect to the firstaxis, a first partial tilt indicator that corresponds to the first axisand represents a first partial threshold of tilt with respect to thefirst axis that is less than the first full threshold of tilt, a secondfull tilt indicator that corresponds to the second axis and represents asecond full threshold of tilt with respect to the second axis, and asecond partial tilt indicator that corresponds to the second axis andrepresents a second partial threshold of tilt with respect to the secondaxis that is less than the second full threshold of tilt, the processoris configured to control the first full tilt indicator and the firstpartial tilt indicator based on the tilt data with respect to the firstaxis, and the processor is configured to control the second full tiltindicator and the second partial tilt indicator based on the tilt datawith respect to the second axis.
 15. A system comprising: a tilt sensorconfigured to measure tilt data representing tilt of a device about atleast a first axis, a second axis, and a third axis; and at least afirst control located on the device and configured to receive user inputthat is different than the measured tilt data; and a processorconfigured to: receive an indication that the first control is selected;after receiving the indication that the first control is selected,detect rotational movement of the device when the first control isselected based on tilt data measured by the tilt sensor when the firstcontrol is selected; and provide output based on the detected rotationalmovement of the device when the first control is selected.
 16. Thesystem of claim 15 wherein the tilt sensor is configured to measure thetilt data with respect to more than five tilt regions defined around thefirst axis and the processor is configured to select the output signalbased on which of the more than five tilt regions corresponds to thetilt data.
 17. The system of claim 15 wherein the tilt sensor isconfigured to measure the tilt data with respect to at least two tiltregions defined around the first axis, the at least two tilt regionsincluding tilt regions that are asymmetric about the first axis and theprocessor is configured to select the output signal based on which ofthe at least two tilt regions corresponds to the tilt data.
 18. Thesystem of claim 15 wherein the tilt sensor is configured to measure thetilt data with respect to at least three tilt regions defined around thefirst axis, and the tilt sensor is configured to measure the tilt datawith respect to at least two tilt regions defined around the secondaxis, the at least two tilt regions defined around the second axishaving a different number of tilt regions than the at least three tiltregions defined around the first axis.
 19. The system of claim 15wherein the tilt sensor is configured to measure the tilt data withrespect to at least one tilt region defined around the first axis andthe processor is configured to, when the processor receives theselection of the first control at a time when the tilt data is outsideof any defined tilt region, provide no output, provide outputcorresponding to a closest defined tilt region, or provide outputcorresponding to a most recent output.
 20. A system comprising: a tiltsensor configured to measure tilt data representing tilt of a deviceabout at least a first axis, a second axis, and a third axis; and aprocessor configured to: access tilt data measured by the tilt sensorover a period of time; analyze the accessed tilt data to determinewhether or not the device is being moved back and forth in a shakingmotion during the period of time; and change output being displayed inresponse to a determination that the device is being moved back andforth in the shaking motion.